시계열 이상 탐지
10 Sep 2019 | time series paper ml python
시계열 데이터의 특성
- 시계열 데이터 : 시간에 따라서 변화하는 데이터
- 구성
- Trend
- Seasonal
- Random (= Residual)
anomaly detection methodology
- anomaly detection : 일반적인 outlier를 찾는 것이 아니라, time series data에서 outlier를 찾는 것
- 필요성
- 평소보다 데이터가 심하게 크거나 작은 경우
- 데이터의 패턴 변경
- 주요 탐지기법
- 상태 공간 모델(state space models) : exponentail smoothing, Holt-Winters, ARIMA
- 분해 (decomposition) : STL 등 고전적인 분해 기법들
- 딥러닝 : RNN
- 차원감소 (demension reduction) : RPCA, SOM, discords, piescewise linear
쉬운 방법들
- STL decomposition
- time series = sesonal + trend 구분하여, random graph에서 비정상 포인트를 발견
- CART (classification and regresion trees)
- classification에 따라서 regression을 통해 각 weight를 계산
- supervised learning이기 때문에 labeled data가 필요하다.
- Moving Average (=roling average)
- 특정 기간의 평균값을 데이터로 취하여 이동평균선을 구하고, 각 지점에서의 표준편차를 이용해 신뢰구간을 그린 다음 실제 값이 이 신뢰구간을 벗어난다면 비정상이라고 판단.
- 이동평균선을 그릴 기간(흔히 window size라고 표현)을 얼마로 할 것인가가 중요한 문제
개선된 방법
- Prophet
- 페이스북에서 만든 비정상탐지 알고리즘
- 자세한 설명은 지난 글에 정리되어 있다.
- Clustering
- 시간에 따라서 패턴이 크게 달라지는 경우, 군집 분석을 통하여 먼저 시간의 구간을 구분한 뒤, 각 구간별로 시계열 분석을 실시
시계열 데이터의 특성
- 시계열 데이터 : 시간에 따라서 변화하는 데이터
- 구성
- Trend
- Seasonal
- Random (= Residual)
anomaly detection methodology
- anomaly detection : 일반적인 outlier를 찾는 것이 아니라, time series data에서 outlier를 찾는 것
- 필요성
- 평소보다 데이터가 심하게 크거나 작은 경우
- 데이터의 패턴 변경
- 주요 탐지기법
- 상태 공간 모델(state space models) : exponentail smoothing, Holt-Winters, ARIMA
- 분해 (decomposition) : STL 등 고전적인 분해 기법들
- 딥러닝 : RNN
- 차원감소 (demension reduction) : RPCA, SOM, discords, piescewise linear
쉬운 방법들
- STL decomposition
- time series = sesonal + trend 구분하여, random graph에서 비정상 포인트를 발견
- CART (classification and regresion trees)
- classification에 따라서 regression을 통해 각 weight를 계산
- supervised learning이기 때문에 labeled data가 필요하다.
- Moving Average (=roling average)
- 특정 기간의 평균값을 데이터로 취하여 이동평균선을 구하고, 각 지점에서의 표준편차를 이용해 신뢰구간을 그린 다음 실제 값이 이 신뢰구간을 벗어난다면 비정상이라고 판단.
- 이동평균선을 그릴 기간(흔히 window size라고 표현)을 얼마로 할 것인가가 중요한 문제
개선된 방법
- Prophet
- 페이스북에서 만든 비정상탐지 알고리즘
- 자세한 설명은 지난 글에 정리되어 있다.
- Clustering
- 시간에 따라서 패턴이 크게 달라지는 경우, 군집 분석을 통하여 먼저 시간의 구간을 구분한 뒤, 각 구간별로 시계열 분석을 실시